package com.tensquare.friend.client;

import entity.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * @FeignClient注解用于指定从哪个服务中调用功能
 * 注意:里面的名称与被调用的服务名保持一致，并且不能包含下划线
 * @RequestMapping注解用于对被调用的微服务进行地址映射。
 * 注意 @PathVariable注解一定要指定参数名称,否则出错
 */
@FeignClient("tensquare-user")
public interface UserClient {
    /**
     * SpringCloud(Feign远程调用其他服务) 通过REST API调用
     * 也就是通过访问API接口调用服务  作用相当于Dubbo中的RPC调用服务
     *
     * 远程调用tensquare-base微服务中/label/{labelId}接口
     * @RequestMapping: 支持SpringMVC注解
     * @param labelId
     * @return
     */
    /**
     * 修改粉丝数量
     *
     * @param userId
     * @param count
     * @return
     */
    @RequestMapping(value = "/user/fanscount/{userId}/{count}", method = RequestMethod.PUT)
    public Result changeFansCount(@PathVariable("userId") String userId, @PathVariable("count") Integer count);

    /**
     * 修改关注数量
     *
     * @param userId
     * @param count
     * @return
     */
    @RequestMapping(value = "/user/followcount/{userId}/{count}", method = RequestMethod.PUT)
    public Result changeFollowCount(@PathVariable("userId") String userId, @PathVariable("count") Integer count);


}